package com.neuedu.aop.adivce;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;




@Component
@Aspect     //@Aspect定义此类为方面代码，即是一个通知。
public class MyAdvice {

    /**
     *  execution(* com.neuedu.aop.service.*.insert(..))
     *  第一个* 代表 类型
     *  insert 代表 这些类中所有 insert方法
     *
     *  前置通知
     * @param joinpoint
     */
    @Before("execution(* com.neuedu.aop.service.*.insert(..))")
    public void beforeMethod(JoinPoint joinpoint){

        System.out.println("【前置通知日志】" + joinpoint.toString());
    }


    @After("execution(* com.neuedu.aop.service.*.insert(..))")
    public void afterMethod(JoinPoint joinpoint){
        System.out.println("【后置通知日志】" + joinpoint.toString());
    }
}